package fr.thelem.gestiondemandesthelem.dao.model;

import java.io.Serializable;
import java.util.Collection;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Entity implementation class for Entity: CPEtapeEntity
 * 
 */
@Entity
@Table(name = "CP_ETAPE")
public class CPEtapeEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "IDENTIFIANT_CP_ETAPE", nullable = false)
    @GeneratedValue
    private int identifiantCPEtape;

    @Column(name = "VALEUR_CP_ETAPE")
    private String valeurCPEtape;

    @ManyToOne
    @JoinColumn(name = "IDENTIFIANT_CD_ETAPE")
    private CDEtapeEntity CDEtapeCPEtape;

    @OneToMany(mappedBy = "CPEtapeCDParametreEtape")
    private Collection<CPParametreEtapeEntity> CPParametresEtapeCPEtape;

    @ManyToOne
    @JoinColumn(name = "IDENTIFIANT_CP_DEMANDE")
    private CPDemandeEntity CPDemandeCPEtape;

    @ManyToOne
    @JoinColumn(name = "NOM_ETAT")
    private EtatEntity etatCPEtape;

    /**
     * Accesseur de identifiantCPEtape
     * 
     * @return le identifiantCPEtape
     */
    public int getIdentifiantCPEtape() {
        return identifiantCPEtape;
    }

    /**
     * Accesseur de valeurCPEtape
     * 
     * @return le valeurCPEtape
     */
    public String getValeurCPEtape() {
        return valeurCPEtape;
    }

    /**
     * Accesseur de cDEtapeCPEtape
     * 
     * @return le cDEtapeCPEtape
     */
    public CDEtapeEntity getCDEtapeCPEtape() {
        return CDEtapeCPEtape;
    }

    /**
     * Accesseur de cPParametresEtapeCPEtape
     * 
     * @return le cPParametresEtapeCPEtape
     */
    public Collection<CPParametreEtapeEntity> getCPParametresEtapeCPEtape() {
        return CPParametresEtapeCPEtape;
    }

    /**
     * Accesseur de cPDemandeCPEtape
     * 
     * @return le cPDemandeCPEtape
     */
    public CPDemandeEntity getCPDemandeCPEtape() {
        return CPDemandeCPEtape;
    }

    /**
     * Accesseur de etatCPEtape
     * 
     * @return le etatCPEtape
     */
    public EtatEntity getEtatCPEtape() {
        return etatCPEtape;
    }

    /**
     * Affectation de identifiantCPEtape
     * 
     * @param identifiantCPEtape identifiantCPEtape à affecter
     */
    public void setIdentifiantCPEtape(int identifiantCPEtape) {
        this.identifiantCPEtape = identifiantCPEtape;
    }

    /**
     * Affectation de valeurCPEtape
     * 
     * @param valeurCPEtape valeurCPEtape à affecter
     */
    public void setValeurCPEtape(String valeurCPEtape) {
        this.valeurCPEtape = valeurCPEtape;
    }

    /**
     * Affectation de cDEtapeCPEtape
     * 
     * @param cDEtapeCPEtape cDEtapeCPEtape à affecter
     */
    public void setCDEtapeCPEtape(CDEtapeEntity cDEtapeCPEtape) {
        CDEtapeCPEtape = cDEtapeCPEtape;
    }

    /**
     * Affectation de cPParametresEtapeCPEtape
     * 
     * @param cPParametresEtapeCPEtape cPParametresEtapeCPEtape à affecter
     */
    public void setCPParametresEtapeCPEtape(Collection<CPParametreEtapeEntity> cPParametresEtapeCPEtape) {
        CPParametresEtapeCPEtape = cPParametresEtapeCPEtape;
    }

    /**
     * Affectation de cPDemandeCPEtape
     * 
     * @param cPDemandeCPEtape cPDemandeCPEtape à affecter
     */
    public void setCPDemandeCPEtape(CPDemandeEntity cPDemandeCPEtape) {
        CPDemandeCPEtape = cPDemandeCPEtape;
    }

    /**
     * Affectation de etatCPEtape
     * 
     * @param etatCPEtape etatCPEtape à affecter
     */
    public void setEtatCPEtape(EtatEntity etatCPEtape) {
        this.etatCPEtape = etatCPEtape;
    }

}
